package com.tfjybj.msg.data.service.impl;

import com.tfjybj.msg.commons.entity.table.MessageEntity;
import com.tfjybj.msg.data.repository.MessageRepository;
import com.tfjybj.msg.data.service.MessageService;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.Optional;

/**
 * @Description:
 * @Author: xuziguo
 * @Date: 2021/4/19 下午 8:13
 * @Modified By:
 * @Modify Date:
 */
@Service
public class MessageServiceImpl implements MessageService {

    @Resource
    private MessageRepository messageRepository;

    @Override
    public MessageEntity addMessage(MessageEntity messageEntity) {
        //jpa的save方法：看id存不存在，如果存在就更新，不存在就添加
        return messageRepository.save(messageEntity);
    }

    @Override
    public MessageEntity deleteMessage(String id) {
        //根据id查实体，Optional是jdk8新特性
        Optional<MessageEntity> byId = messageRepository.findById(id);
        //orElseThrow()：对象如果不存在就抛异常，存在就继续执行
        //setIsDelete(1)：设置isDelete值为1进行假删除
        byId.orElseThrow().setIsDelete(1);
        //用jpa自带的sava更新数据：sava方法会先看id存不存在如果存在就更新，不存在就删除
        return messageRepository.save(byId.get());

    }
}
